/*
 * Copyright (c) 2022  by Junzhao
 * THIS FILE IS PART OF JAVASE Song Huongkang PROJECT
 * All Rights Reserved.
 */

package System;

import org.junit.Test;

/**
 * @description
 System类代表系统，系统级的很多属性和控制方法都放置在该类的内部。
    该类位于java.lang包。
 由于该类的构造器是private的，所以无法创建该类的对象，也就是无法实
    例化该类。其内部的成员变量和成员方法都是static的，所以也可以很方便
    的进行调用。
 成员变量
     System类内部包含in、out和err三个成员变量，分别代表标准输入流
    (键盘输入)，标准输出流(显示器)和标准错误输出流(显示器)。
 成员方法
     native long currentTimeMillis()：
    该方法的作用是返回当前的计算机时间，时间的表达格式为当前计算机时
    间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数。
 void exit(int status)：
    该方法的作用是退出程序。其中status的值为0代表正常退出，非零代表
    异常退出。使用该方法可以在图形界面编程中实现程序的退出功能等。
 void gc()：
    该方法的作用是请求系统进行垃圾回收。至于系统是否立刻回收，则
    取决于系统中垃圾回收算法的实现以及系统执行时的情况。
 String getProperty(String key)：
    该方法的作用是获得系统中属性名为key的属性对应的值。系统中常见
    的属性名以及属性的作用如图（属性值.png）所示.
 * @author 俊昭
 * @date 2022/4/17
*/
public class SystemTest {
    @Test
    public void t1(){
        System.out.println(System.currentTimeMillis());// 1650201187702
        System.out.println(System.getProperty("java.version"));// 1.8.0_281
        System.out.println(System.getProperty("java.home"));// C:\Program Files\Java\jdk1.8.0_281\jre
        System.out.println(System.getProperty("os.version"));// 10.0
        System.out.println(System.getProperty("os.home"));// null
        System.out.println(System.getProperty("user.dir"));// C:\Users\Junzhao\IdeaProjects\尚硅谷\高级\常用类
        System.out.println(System.getProperty("user.home"));// C:\Users\Junzhao

        System.exit(0);
    }
}
